<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <script>
    const cai = {
        uname: '只因',
        age: 2.5,
        hobbit: ['sing', 'dance', 'rap', 'basketball'],
        fans: {
          uname: 'ikun',
          age: 9999,
          hobbit: ['smoke', 'drink', 'makeHairStyle'],
        },
      }
      const dong = {}
     const deepClone = function(newObj,oldObj){
           for(let k in oldObj){
            if(oldObj[k] instanceof Array){
               newObj[k]=[]
               deepClone(newObj[k],oldObj[k])
            } else if(oldObj[k] instanceof Object){
                newObj[k]={}
                deepClone(newObj[k],oldObj[k])
            } else{newObj[k]=oldObj[k]}
              
           }

     }
     deepClone(dong,cai)
    //  console.log(dong);
      dong.fans.hobbit[1] ='play'
      console.log(dong);
      console.log(cai);
  </script>
</body>
</html>